Machine-to-machine (M2M) broadly refers to technologies which allow devices to communicate with other devices via wired and wireless networks. M2M devices will, in many cases, produce data that an M2M application may access, interpret and act upon. For example: an M2M device may send information representing a temperature reading of 47° C. An M2M application may receive this information, interpret it and then initiate some action.
Depending on the nature of the data and the nature of the corresponding action, the data exchange between a device and an application can occur synchronously or asynchronously. This is particularly likely where the communications network connecting to the M2M device is wireless. Synchronous data exchange requires a real-time connection, but in many cases the M2M device will produce data that can be consumed by the application at a later point in time. For example, the data supplied by an electricity meter to a billing application can be supplied at substantially any time, the primary requirement being that the information is accurate. This means that certain communications can be postponed until off-peak hours, which may help smooth peaks in network traffic. However, a contrary example is that of data transmitted from a vehicle to an emergency services application in the event of an accident. Here it is important that the information is transmitted as soon as possible. In either case, due to variations in traffic over a wireless communications network and variations in the radio conditions, it is to be expected that at some times communication with an M2M device will not be possible.